using Dew.Math;
using Dew.Math.Editors;
using Dew.Math.Units;
using Dew.Signal;
using Dew.Signal.Units;
using Dew.Math.Tee;
using Dew.Signal.Tee;
private void button1_Click(
object sender, EventArgs e)
{
Vector z =
new Vector(0);
Vector p =
new Vector(0);
Vector num =
new Vector(0);
Vector den =
new Vector(0);
Vector Response =
new Vector(0);
Vector FreqFr =
new Vector(0);
double k,Wc,BW;
double FS = 2;
int Order = 5;
//design a fifth order filter.
IIRFilters.EllipticAnalog(Order,0.2,40,z,p,
out k);
//design analog protype
Wc = Math.Sqrt(0.2*0.6);
BW = 0.6 - 0.2;
LinearSystems.LowpassToBandpass(z,p,
ref k,Wc,BW);
//frequency transformation in s-domain
LinearSystems.ZeroPoleToTransferFun(num,den,z,p,k);
//Define the frequency grid (logarithmic)
FreqFr.Length = 1000;
SignalUtils.LogRamp(FreqFr,-1,1);
//between 0.1 (=10^(-1)) and 10 (=10^1) rad/sec
SignalUtils.FrequencyResponseS(num,den,FreqFr,Response,0);
//Laplace
MtxVecTee.DrawIt(Response,"Frequency response",
false);
//Y axis linear, X axis logarithmic
}